2. 필드 이름 바꾸기
데이터 필드의 이름은 데이터 구조와 프로그램을 이해하기 위해서 중요하다. 레코드 캡슐화를 선행하자.
절차
- 레코드의 유효범위가 제한적이라면 필드에 접근하는 모든 코드를 수정한 후 테스트를 한다. 이후 단계는 필요없다.
- 레코드가 캡슐화되지 않았다면 캡슐화
- 캡슐화된 객체안의 private 필드명을 변경하고, 그에 맞게 매서드 수정
- 테스트
- 생성자의 매개변수 중 필드와 이름이 겹치는 게 있다면 함수 선언 바꾸기로 변경한다.
- 접근자등의 이름도 바꿔준다.
예시 코드
😞 Before
class Organization {
constructor(data) {
this._name = data.name
this._country = data.country
}
get name() {
return this._name
}
set name(aString) {
this._name = aString
}
get country() {
return this._country
}
set country(aCountryCode) {
this._country = aCountryCode
}
}
😃 After
class Organization {
constructor(data) {
this._title = data.name
this._country = data.country
}
get title() {
return this._title
}
set title(aString) {
this._title = aString
}
get country() {
return this._country
}
set country(aCountryCode) {
this._country = aCountryCode
}
}